﻿using MyMathLib;
namespace Regression
{
    internal class Program
    {
        static void Main(string[] args)
        {

            //定义一个链表存入年
            List<int> years = new List<int>();
            //定义一个链表存入每年的gdp
            List<double> gdps = new List<double>();
            //调用类库里的函数读取文件从txt文本中写入数据
            MyFunction.ListReadTxt("D:\\aHomework\\CSharpHomework\\H1004\\Regression\\bin\\Debug\\net6.0\\Year.txt",years);
            MyFunction.ListReadTxt("D:\\aHomework\\CSharpHomework\\H1004\\Regression\\bin\\Debug\\net6.0\\Gdp.txt", gdps);
            //调用类库中的函数计算a和b
            double b = MyMathLib.Data.GetNumber_b(years, gdps);
            double a = MyMathLib.Data.GetNumber_a(years, gdps);
            //输出a和b的值
            Console.WriteLine($"最小二乘法计算a的值为{a}，b的值为{b}");
            //使用拟合的直线预测2021年GDP
            double gdp2021 = b * 2021 + a;
            Console.WriteLine($"预测2021年GDP为{gdp2021.ToString("##.##")}万亿美元");
            double deviation = (17.73 - gdp2021) / 17.73*100;
            Console.WriteLine($"实际2021年GDP为17.73万亿美元，误差为{deviation.ToString("##.##")}%");
        }
    }
}